#ifndef PROBABILITY_H
#define PROBABILITY_H

#include <stdlib.h>           
#include <math.h>   

/*Initializes the random seed and sets the probability used in Bernouli process */
void InitRandomizer(int seed, double bernouli_p);

/* Returns next result in Bernouli process (0 or 1) */
int NextBernouliResult();

/* Returns a number between 0 and N by uniform distribution.
First parameter is unused and required for uniform function signarute (should be same as diagonal to use function pointer) */
int NextUniformDistributedNumber(int i, int N);

/* Returns a number between 0 and N by diagonal distribution. */
int NextDiagonalDistributedNumber(int i, int N);

#endif